<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        let arr = ['1', '2', '3']
        let r = arr.map(Number);
        // map的参数 是一个函数，这个函数会在 map内部被调用， 
        // 三次
        // Number('1',0)-> 1
        // Number('2',1)->2
        // Number('3',2)->3

        // let r = arr.map(function (v, i) {
        //     // '1'
        //     // 1=Number('1')
        //     return Number(v);
        // });
        console.log(r);//[1,2,3]


        let arr2 = [1, 2, 3];
        let r2 = arr2.map(parseInt)
        // parseInt-在map内部被调用了三次，每次都传入了 元素和下标
        // parseInt(1, 0)-》
        // parseInt(2, 1)-》
        // parseInt(3, 2)-》
        parseInt('1', 0)//->    ，
        //第二个参数是进制 传入0 表示  '1' 使用的十进制
        // 返回值 都是 10进制的结果
        parseInt('2', 1)
        //第二个参数是进制 传入1 表示  '2' 使用的1进制
        // '2'当做 1进制， 没有结果 --返回NaN
        parseInt('3', 2)
        //第二个参数是进制 传入2 表示  '3' 使用的2进制
        // '3'当做 2进制， 没有结果 --返回NaN
        // '3' 不能当成二进制使用，返回NaN
        console.log(r2);//[1, NaN, NaN]

        // 把 ‘11’ 当成2进制 ， 返回对应的十进制结果
        console.log(parseInt('11', 2));//->  3
        console.log(parseInt('10', 2));//->  2
        console.log(parseInt('01', 2));//->  1
        console.log(parseInt('0', 2));//->  0
        //
    </script>

</body>

</html>